`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date:    13:44:58 10/21/2010 
// Design Name: 
// Module Name:    state_machine 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//////////////////////////////////////////////////////////////////////////////////
module state_machine(
		input [1:0] control,
		output cnt_enable,
		output en_data_transfer	
    );
	
reg reg0;
reg reg1;

assign cnt_enable = reg0;
assign en_data_transfer = reg1;

parameter stop  = 2'b00;
parameter load  = 2'b01;
parameter start = 2'b10;
parameter unused= 2'b11;

always@( control[0], control[1] )
begin
	case(control)
		stop:
		begin
			reg0 <= 0;
			reg1 <= 0;
		end
		start:
		begin
			reg0 <= 1;
			reg1 <= 0;
		end
		load:
		begin
			reg0 <= 0;
			reg1 <= 1;
		end
		unused:
		begin
			reg0 <= 0;
			reg1 <= 0;
		end
	endcase
end
endmodule
